#ifndef __LINKQUEUE_H_
#define __LINKQUEUE_H_






#include"DoubleLinkList.h"


class LinkQueue
{
private:
    DoubleLinkList list;
public:

    using ElementType = DoubleLinkList::ElementType;

    
    void Push(const ElementType&element)
    {
        list.InsertTail(element);
    }

    void Pop()
    {
        if(list.Size() == 0)
            return;
        else
            list.RemoveByIndex(0);
    }

    ElementType * GetFront()
    {
        if(list.Size() == 0)
            return nullptr;
        else
            return list.Head();
    }


    bool IsEmpty()
    {
        return list.Size() == 0;
    }

    int Size()
    {
        return list.Size();
    }
};







#endif